home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1994 March
/
Internet Info CD-ROM (Walnut Creek) (March 1994).iso
/
networking
/
mail
/
mh
/
contrib
/
jpeek
/
rmf
< prev
next >
Wrap
Text File
|
1992-08-08
|
2KB
|
48 lines
#! /bin/sh
# $Header: /home/jerry/.bin/RCS/rmf,v 1.3 92/08/09 23:26:34 jerry mh_contrib $
### rmf - front-end to MH rmf command; tries to stop MH from trashing symlinks
##
## THE rmf IN MH 6.7.2 (AND PROBABLY OTHERS) WON'T CHECK TO SEE WHETHER A
## "FOLDER" IS REALLY A SYMBOLIC LINK TO ANOTHER FOLDER. IT REMOVES ALL
## THE MESSAGES FROM THE FOLDER THAT THE LINK POINTS TO, THEN GIVES UP!
## THIS FRONT-END TESTS BEFORE IT STARTS THE REAL rmf; IF YOU'RE TRYING
## TO REMOVE A SYMLINK, IT TELLS YOU AND ABORTS.
##
# PUT THIS SCRIPT SOMEWHERE IN YOUR $PATH AHEAD OF THE MH BINARY DIRECTORY.
#
# TABSTOPS IN THIS CODE ARE SET AT 4.
#
# USE AT YOUR OWN RISK. SEEMS TO WORK, BUT IT'S YOUR RESPONSIBILITY!
# PLEASE TELL ME ABOUT BUGS AND FIXES: Jerry Peek, jerry@ora.com
mhdir=/usr/local/mh # WHERE MH BINARIES LIKE folder AND rmf LIVE
echo "NOTE: Using front-end $0." 1>&2 # SHOW THIS SCRIPT'S NAME
# GRAB FOLDER NAME:
for arg
do
case "$arg" in
[@+]*)
if [ -z "$folder" ]
then
folder="$arg"
else
echo "`basename $0` aborting: '$arg'? Only one folder at a time." 1>&2
exit 1
fi
;;
esac
done
# GET PATH TO FOLDER. (DEFAULTS TO CURRENT FOLDER.)
folpath="`$mhdir/mhpath $folder`" || exit 1
# NOT ALL testS TEST SYMLINKS. FAKE IT; TEST ls -l FOR "lrwx..." OUTPUT:
lsout="`/bin/ls -ld $folpath`" || exit 1
case "$lsout" in
"") echo "`basename $0` aborting: '/bin/ls -ld $folpath' bombed?" 1>&2;;
l*) echo "`basename $0` aborting: $folpath is a symbolic link!?!" 1>&2;;
*) exec $mhdir/rmf ${1+"$@"} ;; # WORKAROUND FOR "$@" PROBLEMS IN SOME SHELLS
esac
exit 1 # ALWAYS AN ERROR IF GET HERE: exec FAILED OR WRONG case MATCHED.